Verifying Compilers and ASMs or ASMs for uniform description of multistep transformations

نویسندگان

  • Gerhard Goos
  • Wolf Zimmermann
چکیده

A verifying compiler ensures that the compiled code is always correct but the compiler may also terminate with an error mesage and then fails to generate code. We argue that with respect to compiler correctness this is the best possible result which can be achieved in practice. Such a compiler may even include unverified code provided the results of such code can be proven correct independently from how they are generated. We then show how abstract state machines (ASMs) can be used to uniformly describe the dynamic semantics of the programs being compiled across the various intermediate transformation steps occurring within a compiler. Besides being a convenient tool for describing dynamic semantics the fact that we do not have to switch between different descriptional methods is found to be extremely useful.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Complete Logic for Non-Deterministic Database Transformations

Database transformations provide a unifying framework for database queries and updates. Recently, it was shown that non-deterministic database transformations can be captured exactly by a variant of ASMs, the so-called Database Abstract State Machines (DB-ASMs). In this article we present a logic for DB-ASMs, extending the logic of Nanchen and Stärk for ASMs. In particular, we develop a rigorou...

متن کامل

A complete logic for Database Abstract State Machines1

In database theory, the term database transformation was used to refer to a unifying treatment for computable queries and updates. Recently, it was shown that non-deterministic database transformations can be captured exactly by a variant of ASMs, the so-called Database Abstract State Machines (DB-ASMs). In this article we present a logic for DBASMs, extending the logic of Nanchen and Stärk for...

متن کامل

Semantic foundation and tool support for model-driven development with UML 2 activity diagrams

State Machines An Abstract State Machine (ASM) is used to formally define the behavior of a system. The level of abstraction can be chosen freely. We will use ASMs to define the semantics of UML 2 activity diagrams in chapter 5. Here, we give a short overview of ASMs and introduce keywords that are relevant in our context. ASMs were introduced by Gurevich [Gur94]. A comprehensive introduction a...

متن کامل

Remarks on Turbo ASMs for Functional Equations and Recursion Schemes

The question raised in [15] is answered how to naturally model widely used forms of recursion by abstract machines. We show that turbo ASMs as defined in [7] allow one to faithfully reflect the common intuitive single-agent understanding of recursion. The argument is illustrated by turbo ASMs for Mergesort and Quicksort. Using turbo ASMs for returning function values allows one to seamlessly in...

متن کامل

A Semantic Characterization of Elementary Wide-Step ASMs

Abstract State Machines (ASMs) describe their behavior by a simple, yet expressive program syntax. While such syntax is useful for the application of ASMs as a modeling and specification language, it often complicates theoretical considerations. Gurevich solved this problem for the class of sequential small-step ASMs by proposing an elegant semantic axiomatization for this class. Later, Blass a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000